home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 001a / css10.zip / CSS.DOC next >
Text File  |  1991-01-24  |  23KB  |  639 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                           ▒▒▒▒▒▒▄     ▒▒▒▒▒▒▄     ▒▒▒▒▒▒▄
  9.                           ▒▒█▀▀▀▀     ▒▒█▀▀▀▀     ▒▒█▀▀▀▀
  10.                           ▒▒█         ▒▒▒▒▒▒▄     ▒▒▒▒▒▒▄
  11.                           ▒▒█          ▀▀▀▒▒█      ▀▀▀▒▒█
  12.                           ▒▒▒▒▒▒▄     ▒▒▒▒▒▒█     ▒▒▒▒▒▒█
  13.                            ▀▀▀▀▀▀      ▀▀▀▀▀▀      ▀▀▀▀▀▀
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                    CSS - The SIMPLE Language PreProcessor for Telix
  27.  
  28.                         Version 1.0  Date: January 24th, 1991
  29.  
  30.                       Copyright 1991, by Host Software Products
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.                                 Host Software Products
  46.                                   15837 Windrose Way
  47.                                San Diego, CA 92127-2066
  48.  
  49.  
  50.                               Daniel E. Horn - President
  51.  
  52.  
  53.                                                                     Page: 1
  54.  
  55.  
  56.                                      WHAT IS CSS?
  57.  
  58.           CSS is a full scale PreProcessor for the SALT (Script Application
  59.           Language for Telix)  and provides  a easy to  use and  understand
  60.           language called SIMPLE.  CSS compiles directly into SALT and then
  61.           automatically compiles  the SALT script by running the CS program
  62.           provided with the  Telix (C) communications program.   CSS allows
  63.           the  user to  write scripts  using the  SIMPLE language  that are
  64.           fully compatible and executable under the Telix program,  but are
  65.           easy to write and are completely understandable.
  66.  
  67.           The SIMPLE language has been written with the base user  in mind,
  68.           it  is  a  language which  is  based  upon  the english  sentence
  69.           structure and who's  functions are named  in accordance to  their
  70.           operations.  This provides  a language that is easily  remembered
  71.           and simple to work with.
  72.  
  73.                                                                     Page: 2
  74.  
  75.  
  76.                This program is distributed under the Shareware concept Non-
  77.           Registered users of CSS are  granted a limited license to use  it
  78.           for a 4 week trial period, in order to determine  it's usefulness
  79.           to  you.   ANY other  use of  CSS after  that period  is strictly
  80.           prohibited.
  81.  
  82.  
  83.                                     WHY REGISTER?
  84.  
  85.           *    Registration allows you to use CSS on a regular basis.
  86.  
  87.           *    Registered users will receive mailed notification of updates
  88.                to the program.
  89.  
  90.           *    Registered users will also receive  top priority in any help
  91.                or comments they have/need.
  92.  
  93.           *    Registered users  receive copies  of the program  which have
  94.                the register comment removed, as well as the compile message
  95.                and delay compiled into the resulting script.
  96.  
  97.           *    The registered version also contains the ability to save the
  98.                resulting SALT  file to disk so as to view it's contents, as
  99.                well resulting  SIMPLE scripts compiled will  no longer have
  100.                the notification delay in running.
  101.  
  102.           *    Registered users will be able to join the beta test process,
  103.                and will receive previous of all new software if they want.
  104.  
  105.           Registration  is US$20.00  plus  US$2.50  (US$3.50 OverSeas)  for
  106.           shipping and handling and covers all of the above features.
  107.  
  108.                To Order, Make check or money order out to:
  109.  
  110.                                         Host Software Products
  111.                                         15837 Windrose Way
  112.                                         San Diego, CA  92127-2066 USA
  113.  
  114.                                                                     Page: 3
  115.  
  116.  
  117.           -----------------------------------------------------------------
  118.  
  119.           Please Send:
  120.  
  121.           CSS 1.0 Registration....................... US $20.00 _____
  122.  
  123.           Shipping and Handling include US $2.50 (US $3.50 Overseas)
  124.  
  125.           Disk Size:  5.25" _____   3.5" _____
  126.  
  127.           { Please Print }
  128.  
  129.           Name   :_________________________________________________________
  130.  
  131.           Address:_________________________________________________________
  132.  
  133.                   _________________________________________________________
  134.  
  135.                   _________________________________________________________
  136.  
  137.           Day Phone: (____)_____-______      Evening: (____)_____-______
  138.  
  139.           Comments:________________________________________________________
  140.  
  141.                    ________________________________________________________
  142.  
  143.                    ________________________________________________________
  144.  
  145.           { Optional }
  146.  
  147.           Computer Type:___________________________________________________
  148.  
  149.           Color Display [Y/N]: ___
  150.  
  151.           Where did you hear about (and/or receive a copy of) CSS?
  152.  
  153.           {  } BBS Name ________________________ Ph #(____)_____-______
  154.           {  } Sig Name _______________________________________________
  155.           {  } CompuServe
  156.           {  } Friend
  157.           {  } Other: _________________________________________________
  158.  
  159.           _________________________________________________________________
  160.  
  161.                                                                     Page: 4
  162.  
  163.  
  164.                This program  evolved  from  an  idea from  talking  to  and
  165.           hearing  complaints from people  who felt that  the SALT language
  166.           was to difficult to use, to hard to remember, to  "Big" for those
  167.           tiny little scripts.  It was  written originally as a project  to
  168.           test out  a theory of  mine and  eventually was expanded  to it's
  169.           current abilities.  CSS  is an ongoing project and  will continue
  170.           to be worked and expanded as time goes by.
  171.  
  172.  
  173.                                       DISCLAIMER
  174.  
  175.           This  program is provided  as is,  and is to  be run  at your own
  176.           risk.   There is NO  warranty of any  kind or form  covering this
  177.           program.  Exis, Inc, Colin Sampaleanu, and Host Software Products
  178.           are not in any way responsible, or liable for any  damages of any
  179.           kind that  may arise from the  usage of this program,  or that of
  180.           any program or files associated, or included with it.
  181.  
  182.           TELIX.EXE, CS.EXE, SALT: Copyright  1986, 1987, 1988, 1989, 1990,
  183.           1991, by Exis Inc., and Colin Sampaleanu.
  184.  
  185.           Used with permission.
  186.  
  187.                                                                     Page: 5
  188.  
  189.  
  190.                                       USING CSS
  191.  
  192.           Before  you can run a  SIMPLE script file  you must first compile
  193.           the  script using  CSS,  CSS accepts  a  single filename  on  the
  194.           command line with  a default  extension of 'SIM',  and will  then
  195.           process the file into the SALT language, if there are any error's
  196.           encountered during  the compilation CSS will report them and halt
  197.           the process.  Following is  an example of how to invoke  CSS with
  198.           the filename of LOGON.
  199.  
  200.             CSS logon
  201.  
  202.           CSS will attempt to  compile the SIMPLE script and  if successful
  203.           will  automatically run CS.EXE.   If CS.EXE can  not be found, or
  204.           there was not enough memory to run CS.EXE then CSS will abort the
  205.           process with  the appropriate  error.   CS.EXE  should be  placed
  206.           someplace  in  your  PATH statement  so  that  CSS  can find  it.
  207.           Optionally the use of  the Environment variable CS can  be placed
  208.           in the environment as follows:
  209.  
  210.             CS=C:\TELIX\SCRIPTS
  211.  
  212.           Where "C:\TELIX\SCRIPTS"  is the full path  where CS.EXE resides.
  213.           This is useful if you keep  CS.EXE in a directory that is  not in
  214.           your path.
  215.  
  216.                                                                     Page: 6
  217.  
  218.  
  219.                                  THE SIMPLE LANGUAGE
  220.  
  221.           The  SIMPLE  (Salt Implementation)  language  is  a  easy to  use
  222.           language  made up of functions which are named according to their
  223.           operations, the  SIMPLE language  is compiled directly  into SALT
  224.           via  CSS  and  then   compiled  into  a  script  using   CS  (run
  225.           automatically  by CSS).  The  language has been  written with the
  226.           novice  user in mind and should  be fairly easy to use, following
  227.           is  a list of  all functions currently  supported by CSS  and the
  228.           SIMPLE  specifications  and  a   description  of  each  of  those
  229.           functions.   The  SIMPLE language  script is  designed to  have a
  230.           single function on each line of  the file, in certain cases there
  231.           are multiple functions (as in  the case of a WAITFOR or  WHENEVER
  232.           statement) on a single line.
  233.  
  234.  
  235.                                        NOTATION
  236.  
  237.           Throughout the following  pages, certain  words in  the text  are
  238.           notated  by <expression> or [expression].   Any words in standard
  239.           brackets are entirely optional statements and are not required by
  240.           CSS to be included in the statement for compilation.  Expressions
  241.           such as <Integer> are to be replaced with an actual integer (from
  242.           -32,000 to +32,000) in the  code and should not be placed  in the
  243.           actual script.   Words such  as <Sx> are  string expressions  and
  244.           should be replaced  with either  a string constant  (ie group  of
  245.           words  in quotations,  such as  "This is  a string") or  a string
  246.           variable of  the type STRINGxx where  'xx' is a number  from 1 to
  247.           16, for  example  the  string  variable STRING3  is  valid  while
  248.           STRING17 is not.
  249.  
  250.  
  251.           -----------------------------------------------------------------
  252.  
  253.           ALARM <Integer>
  254.  
  255.           Causes an alarm to be rang of up to <Integer> seconds.
  256.  
  257.           Example:
  258.  
  259.           ALARM 2
  260.  
  261.           -----------------------------------------------------------------
  262.  
  263.           WAIT <Integer>
  264.  
  265.           Causes the script to wait for up to <Integer> seconds.
  266.  
  267.           Example:
  268.  
  269.           WAIT 10
  270.  
  271.                                                                     Page: 7
  272.  
  273.           _________________________________________________________________
  274.  
  275.           SEND <Sx> [HITENTER]
  276.  
  277.           Sends the string <Sx> to the remote system, optional HITENTER can
  278.           be  placed  following the  string and  SEND  will add  a Carriage
  279.           Return (ie  as if you  pressed ENTER) at  the end of  the string.
  280.           Note that  you can leave <Sx>  out and just do  SEND HITENTER and
  281.           only a Carriage Return will be sent.
  282.  
  283.           Example:
  284.  
  285.           SEND "John Smith" HITENTER
  286.  
  287.           _________________________________________________________________
  288.  
  289.           SHELL
  290.  
  291.           Do a  Shell to  DOS (Same  thing as  pressing  ALT-J from  within
  292.           Telix).
  293.  
  294.           Example:
  295.  
  296.           SHELL
  297.  
  298.           _________________________________________________________________
  299.  
  300.           SAVESCREEN
  301.  
  302.           Capture the current screen  to disk, stored in the  default image
  303.           file.  (Same as pressing ALT-I from within Telix).
  304.  
  305.           Example:
  306.  
  307.           SAVESCREEN
  308.  
  309.           _________________________________________________________________
  310.  
  311.           SOUND <Integer1>, <Integer2>
  312.  
  313.           Causes  a sound of <Integer1>  tone for a  duration of <Integer2>
  314.           seconds.
  315.  
  316.           Example:
  317.  
  318.           SOUND 20, 10
  319.  
  320.           _________________________________________________________________
  321.  
  322.           HANGUP
  323.  
  324.           Causes Telix to hangup the  phone.  (Same as pressing ALT-H  from
  325.           within Telix).
  326.  
  327.           Example:
  328.  
  329.           HANGUP
  330.  
  331.                                                                     Page: 8
  332.  
  333.           _________________________________________________________________
  334.  
  335.           MESSAGE <Sx>
  336.  
  337.           Prints the string <Sx> on  the screen surrounded by a box  for 30
  338.           seconds.
  339.  
  340.           Example:
  341.  
  342.           MESSAGE "Connected to BBS"
  343.  
  344.           _________________________________________________________________
  345.  
  346.           PRINTER (ON/OFF)
  347.  
  348.           Turns the Printer capture ON or OFF depending  on which switch is
  349.           used. (Same as pressing Ctrl-@ from within Telix).
  350.  
  351.           Example:
  352.  
  353.           PRINTER ON
  354.  
  355.           _________________________________________________________________
  356.  
  357.           TIME <Sx>
  358.  
  359.           Places the current time into the string variable <Sx>.  Note that
  360.           <Sx> *MUST* be a string variable of STRING1 - STRING16.
  361.  
  362.           Example:
  363.  
  364.           TIME STRING2
  365.  
  366.           _________________________________________________________________
  367.  
  368.           DATE <Sx>
  369.  
  370.           Places the current date into the string variable <Sx>.  Note that
  371.           <Sx> *MUST* be a string variable of STRING1 - STRING16.
  372.  
  373.           Example:
  374.  
  375.           DATE STRING11
  376.  
  377.           _________________________________________________________________
  378.  
  379.           INPUT <Sx>, <Integer>
  380.  
  381.           Get's  up to  <Integer> characters from  the keyboard  and places
  382.           them into the  string variable <Sx>.  Note that  <Sx> *MUST* be a
  383.           string variable of STRING1 - STRING16.
  384.  
  385.           Example:
  386.  
  387.           INPUT STRING7, 20
  388.  
  389.                                                                     Page: 9
  390.  
  391.           _________________________________________________________________
  392.  
  393.           SHOW <Sx> [HITENTER]
  394.  
  395.           Prints  the string <Sx> to  the screen, optional  HITENTER can be
  396.           placed following the string  and SHOW will add a  Carriage Return
  397.           (ie as if you pressed ENTER) at the end of the string.  Note that
  398.           you  can leave  <Sx> out  and just  do SHOW  HITENTER and  only a
  399.           Carriage Return will be printed.
  400.  
  401.           Example:
  402.  
  403.           SHOW "Hello" HITENTER
  404.  
  405.           _________________________________________________________________
  406.  
  407.           ASSIGN <Sx1>, <Sx2>
  408.  
  409.           Assign the string  <Sx2> to the string variable <Sx1>.  Note that
  410.           <Sx1> *MUST* be a string variable of STRING1 - STRING16.
  411.  
  412.           Example:
  413.  
  414.           ASSIGN STRING1, "John Smith"
  415.  
  416.           _________________________________________________________________
  417.  
  418.           UPLOAD <Sx> [WITH <Protocol>]
  419.  
  420.           Uploads string filename <Sx> to the remote system (note that <Sx>
  421.           must  be a valid filename), optional WITH <Protocol> can be added
  422.           to  the  end  and  the  upload will  be  made  with  the  defined
  423.           <Protocol>.   Note  that  <Protocol> *MUST*  be a  valid protocol
  424.           name, if  it is not Telix  will prompt you for  the protocol when
  425.           you attempt the upload.
  426.  
  427.           Examples:
  428.  
  429.           UPLOAD "TEST.ZIP"
  430.           UPLOAD "FILELIST.ZIP" WITH Zmodem
  431.  
  432.           _________________________________________________________________
  433.  
  434.           DOWNLOAD <Sx> [WITH <Protocol>]
  435.  
  436.           Downloads string  filename <Sx> from the  remote system, optional
  437.           WITH <Protocol>  can be added to the end and the download will be
  438.           made with the defined <Protocol>.  Note that <Protocol> *MUST* be
  439.           a valid protocol name, if it is not Telix will prompt you for the
  440.           protocol when you attempt the download.
  441.  
  442.           Examples:
  443.  
  444.           DOWNLOAD "NEWFILES.ZIP"
  445.           DOWNLOAD "TELIX1.ZIP" WITH Xmodem
  446.  
  447.                                                                    Page: 10
  448.  
  449.           _________________________________________________________________
  450.  
  451.           WAITFOR <Sx> [MAXOF <Integer>] THENDO <Command>
  452.  
  453.           Waits for  the string  <Sx>  from the  com port  for an  optional
  454.           <Integer> number of  seconds (If  no MAXOF <Integer>  is given  a
  455.           default of 30  seconds is used).  If the  string <Sx> is received
  456.           then  the <Command> (following  THENDO) is processed.   Note that
  457.           <Command> can be any of the command  functions in SIMPLE with the
  458.           exception of another WAITFOR or any of the WHEN commands).
  459.  
  460.           Examples:
  461.  
  462.           WAITFOR "First Name: " THENDO SEND "John" HITENTER
  463.           WAITFOR "Download: " MAXOF 50 THENDO SEND "NEWFILES.ZIP" HITENTER
  464.  
  465.           _________________________________________________________________
  466.  
  467.           DIAL <Sx> [FROM <Sx>] [MAXOF <Integer>]
  468.  
  469.           Dial's the numbers  in the  string <Sx> (format  of number  space
  470.           number etc, ie "1 2 3"), optional FROM <Sx> allows you to specify
  471.           the phone directory  (string <Sx>) to dial from,  if FROM <Sx> is
  472.           not given then it  will dial from the current  dialing directory.
  473.           Optional  MAXOF <Integer> allows you  to specify the total number
  474.           of dialing  attempts before quitting,  if MAXOF <Integer>  is not
  475.           given then it will dial until a connection has been established.
  476.  
  477.           Examples:
  478.  
  479.           DIAL "1 5 2" MAXOF 30
  480.           DIAL "6 13" FROM "INSTATE.FON"
  481.  
  482.           _________________________________________________________________
  483.  
  484.           BBSPASSWORD
  485.  
  486.           This  constant contains  (When a dial  has been  established) the
  487.           password defined for the dialing directory entry.  It can be used
  488.           with the functions  SHOW, SEND,  MESSAGE, and ASSIGN.   The  most
  489.           common  use would be with SEND in  order to send your password to
  490.           the remote system.
  491.  
  492.           Example:
  493.  
  494.           WAITFOR "Password: " THENDO SEND BBSPASSWORD HITENTER
  495.  
  496.           Where Telix would wait  for the string of  "Password: " and  then
  497.           would send the password defined in the dialing directory and then
  498.           press enter.
  499.  
  500.                                                                    Page: 11
  501.  
  502.           _________________________________________________________________
  503.  
  504.           RUNSCRIPT <Sx>
  505.  
  506.           This will run  the script name  <Sx>, note that  the string  <Sx>
  507.           must contain a valid script name.
  508.  
  509.           Example:
  510.  
  511.           RUNSCRIPT "LOGON.SLC"
  512.  
  513.           _________________________________________________________________
  514.  
  515.           DOS <Sx> [PAUSESCREEN]
  516.  
  517.           Run's  the  command given  in the  string  <Sx> in  DOS, optional
  518.           PAUSESCREEN will cause the  screen to pause once the  command has
  519.           been run and will wait for a key to be pressed.
  520.  
  521.           Example:
  522.  
  523.           DOS "DIR /W" PAUSESCREEN
  524.  
  525.           _________________________________________________________________
  526.  
  527.           STARTWHEN
  528.  
  529.           Starts a WHENEVER loop, all commands following  STARTWHEN must be
  530.           WHENEVER commands until a following ENDWHEN command is given.
  531.  
  532.           Example:
  533.  
  534.           STARTWHEN
  535.             WHENEVER "First" THENDO SEND STRING2 HITENTER
  536.           ENDWHEN
  537.  
  538.           -----------------------------------------------------------------
  539.  
  540.           WHENEVER <Sx> THENDO <Command>/<QUITWHEN>
  541.  
  542.           Continues to  wait for the string <Sx>,  once the string <Sx> has
  543.           been  received  then  the  command  <Command>  is  executed,  the
  544.           <Command> can be any  of the SIMPLE functions with  the exception
  545.           of WAITFOR.  If the <Command> is QUITWHEN then the STARTWHEN loop
  546.           is aborted and process is continued after the ENDWHEN.  Note that
  547.           if  none of  the  WHENEVER's within  a  STARTWHEN loop  have  the
  548.           command of QUITWHEN then the *LAST* WHENEVER is assumed to be the
  549.           final  one and  the loop will  finish after that  string has been
  550.           processed.
  551.  
  552.           Example:
  553.  
  554.           STARTWHEN
  555.             WHENEVER "First" THENDO SEND "John" HITENTER
  556.             WHENEVER "Last" THENDO SEND "Smith" HITENTER
  557.           ENDWHEN
  558.  
  559.                                                                    Page: 12
  560.  
  561.           -----------------------------------------------------------------
  562.  
  563.           ENDWHEN
  564.  
  565.           Ends the WHENEVER loop, must be placed after a STARTWHEN and only
  566.           WHENEVER statements (Up to 12) can be placed in between STARTWHEN
  567.           and ENDWHEN.
  568.  
  569.           -----------------------------------------------------------------
  570.  
  571.                                                                    Page: 13
  572.  
  573.  
  574.                              WHAT'S AHEAD IN THE FUTURE?
  575.  
  576.                About the only  thing we can  say is 'More  Functions'.   We
  577.           will  continue adding  new functions  and abilities  to  both the
  578.           SIMPLE language and to CSS.
  579.  
  580.  
  581.                                THANKS AND APPRECIATION
  582.  
  583.                Much  thanks and  appreciation  goes to  Jeff Woods  who has
  584.           helped me  with the layout and  format of the SIMPLE  language as
  585.           well  as providing encouragement and  lot's of good  idea's.  The
  586.           original  idea started out as  a off the  wall discussion between
  587.           Jeff and myself.
  588.  
  589.               I can't thank you enough Jeff!
  590.  
  591.  
  592.                And of course as always goes thanks to Colin Sampaleanu, for
  593.           all the  hard work and  effort he  has put into  Telix and  SALT,
  594.           without which all of this work would be worthless!
  595.  
  596.                Thanks once again Colin!
  597.  
  598.                                                                    Page: 14
  599.  
  600.                                    REGUARDING DOCS
  601.  
  602.                We are  always looking  for people who are  good at  writing
  603.           documentation.  If you feel you can do  a better job, then please
  604.           do so and give us the  end result, we will  take all applications
  605.           and choose the one we feel is best.  If your's is the one choosen
  606.           you will receive a free registration to CSS (or upgrade if you're
  607.           already registered) and you will receive mention in our docs!
  608.  
  609.  
  610.                                   TECHNICAL SUPPORT
  611.  
  612.                If you have any bugs, comments, or suggestions for us on CSS
  613.           please let us know.  You can reach us in the following ways:
  614.  
  615.  
  616.                BEST WAY!-> PCRelay (RIME), HOST-BBS Conference
  617.  
  618.                            If your PCRelay Board does not carry our support
  619.                            conference ask them to! Ask for:
  620.  
  621.                               HOST-BBS - RelayNet Master Number #203
  622.  
  623.  
  624.                            Telix Support BBS, (416) 439-9399
  625.  
  626.                            PCRelay (RIME), Telix Conference
  627.                            FIDO Net, Telix Conference
  628.                            InterLink, Telix Conference
  629.  
  630.                            Call us voice at: (619) 674-1549
  631.                            Business Hours: Mon-Fri 10am-5pm Pacific Time
  632.  
  633.                            Or write us at:
  634.  
  635.                               Host Software Products
  636.                               15837 Windrose Way
  637.                               San Diego, CA  92127-2066 USA
  638.  
  639.